<?php

 function dump($var)
{
    return highlight_string("<?php\n\$array = ".var_export($var, true).";", true);
}

$http = new swoole_http_server("192.168.137.111", 9501, SWOOLE_BASE);
$http->set(array(
    //'max_conn' => 100000, //允许维持多少个tcp连接 内存的实际情况来设置 swoole会一次性分配一块大内存来保存Connection信息
    'reactor_num' => 2, //poll线程的数量，以充分利用多核  reactor_num和writer_num默认设置为CPU核数 
    'worker_num' => 8, //启动的worker进程数量 设置为CPU核数的1-4倍   同步阻塞，worker_num为100或者更高， worker进程数小于reactor线程数时，会自动调低reactor线程的数量
    'backlog' => 128,   //listen backlog 处理不过来时，允许多少人排队 （最多同时有多少个待accept的连接）
    'max_request' => 50000, //处理完n次请求后结束 manager管理者另启一个新进程
    'dispatch_mode' => 1, //1平均分配，2按FD取摸固定分配（默认为取模），3抢占式分配（空闲的worker进程获得数据。很合适SOA/RPC类的内部服务框架，
     'discard_timeout_request' => true,
	 'enable_port_reuse' => true,
	'daemonize' => 1,//执行php server.php将转入后台作为守护进程运行
	'open_cpu_affinity' => 1 ,//启用CPU亲和设置
	'open_tcp_nodelay' => 1 ,//启用tcp_nodelay
	//'tcp_defer_accept' => 5,//约定秒数内并不会触发accept，直到有数据发送，或者超时时才会触发。
	//'log_file' => '/data/log/swoole.log', //指定swoole错误日志文件。
	//'heartbeat_check_interval' => 30, //每隔多少秒检测一次，单位秒， 轮询所有TCP连接，将超过心跳时间的连接关闭掉
	//'heartbeat_idle_time' => 60, //TCP连接的最大闲置时间，单位s , 如果某fd最后一次发包距离现在的时间超过这个值会连接关闭
	'user' => 'www',
	'group' => 'www'
   ));


$http->on('request', function ($request, $response) {
    $html = "<h1>Hello Swoole.</h1>";
    $response->end($html);
});

$http->start();
